The Global Positioning System (GPS) is the US version of a Global Navigation Satellite System (GNSS). Throughout this disclosure, the generic term GNSS, the specific term GPS, or the combination GPS/GNSS may be used and such references shall refer to any such system, including GPS, GLONASS (Russian), Galileo (European), Indian Regional Navigation Satellite System (IRNSS), BeiDou-2 (Chinese), or other such comparable system.
Many modern electronic and consumer devices include a GNSS receiver that can determine the absolute position of the device (e.g., in latitude, longitude, and altitude relative to a global coordinate system) via the GNSS system. GNSS receivers determine their position with high precision (within a few meters) by receiving positioning signals transmitted along a line-of-sight by radio (e.g., RF signals) from a plurality of satellites that are “visible” to the receiver. Receipt of a sufficient number of signals (e.g., four or more) also allows receivers to calculate the current local time to high precision, which allows for time synchronization without the use of costly high precision oscillators as discussed in more detail below.
One difficulty encountered in traditional GNSS systems is that GNSS systems require a direct path from each satellite used in a location and time synchronization solution to the GNSS receiver in order to compute an optimum solution. Timing data associated with the moment at which a signal is transmitted is encoded into the signal. At the receiver, the timing data associated with the time at which the signal was sent is compared to the time at which the signal is received. By analyzing the travel time, the receiver can determine a distance (i.e., pseudo-range) between it and the transmitter.
In traditional GNSS systems, at least three simultaneous direct path signals from a corresponding number of space vehicles (SVs) must be received to compute a location solution if absolute GPS time is known at the receiver. However, rarely does the receiver have access to a high precision time source (e.g., a synchronized and highly precise oscillator), in which case four simultaneous GNSS signals may be required to provide for geolocation in three dimensions and to correct for any timing bias at the receiver. Timing bias occurs in GNSS receivers due to a number of factors including, for example, a concept known as oscillator drift that occurs when the timing mechanism associated with the receiver trends out of synchronization with an absolute time reference. For example, the oscillation frequency of a quartz crystal may increase or decrease with atmospheric conditions, which may lead to discrepancies between a local clock and the absolute time reference. When the clocks of a transmitter and receiver are not synchronized, the travel time of signals between satellites and receivers cannot be properly determined and errors in geolocation occur. Specifically, as a result of oscillator drift, the travel time may be incorrectly determined, which in turn leads to calculation of an incorrect distance between the transmitter and receiver (pseudo-range). A common goal in GNSS systems is reducing oscillator drift, but this often requires prohibitively expensive time-keeping technology which is impractical in most applications.
In some outdoor environments, where there are no obstacles (e.g., on an open highway) it may be relatively easy to establish line-of-sight with a sufficient number of satellites to correct for biases. Further, in some light building structures (e.g., residential houses composed largely of wood) the GNSS signals may (1) be only mildly attenuated, so that the received signal strength is above the sensitivity of the GNSS receiver, and (2) have an ideal, direct, and thus un-delayed path from the satellite to the receiver. In this case the signal rays are undistorted in time; that is, they have the same propagation time as a true line-of-sight (LOS) path and they can be used to provide an accurate location for the receiver.
However, in some environments, signals may be distorted by a variety of factors. For instance, a signal which is reflected off of a surface prior to being receive at the receiver is likely to experience a delay in arriving at the receiver due to the increased distance traveled. This delay is likely to be interpreted by the receiver as a greater straight-line distance between the transmitter and the receiver than actually exists. In such an instance, a reflected signal has low integrity for accurate geolocation.
Furthermore, atmospheric conditions can delay a signal en route from a transmitter to a receiver (e.g., ionospheric dispersion). Water vapor and other airborne matter can affect its perceived transit time. Similar to the reflection problem described above, this is likely to cause the receiver to calculate an incorrect distance between it and the transmitter.
In some rare situations, a satellite transmitter may malfunction, causing it to send incorrect timing data, identification data, ephemeris data, almanac data, etc. In this situation, those described above, or a variety of other scenarios, the data received at a receiver may have low integrity and is unreliable for calculating timing and/or distance. Therefore it may be desirable to discard or correct signals which suggest low integrity.